AWS WAF のレートベースのルールステートメントのブロックが開始されるタイミングと評価期間を教えてください
困っていた内容
AWS WAF のレートベースのルールステートメントを使っています。
実際に DDoS 攻撃を検知した際、どの程度の時間待つことでブロックが始まるのでしょうか?
また、ブロックが解除されるまでの評価期間はどのように計算されるのでしょうか?
どのくらいかかるの?評価期間は?
リクエストレートがしきい値を超えたタイミングから、ブロックが始まるまで 1~2 分程度(通常は 30 秒以内)かかります。
ブロックが開始されたタイミングから評価が始まり、5 分間はブロックされます。5 分後にレートがしきい値を下回っていれば 1~2 分程度待つとブロックが解除されます。
どういう仕組みなの?
WAF のレートベースのルールステートメントはリクエストレートのしきい値に達してから、ルールアクションがトリガーされます。
ルールアクションがトリガーされてから、アクションの変更が有効になるまで 1~2 分程度かかります。
評価期間は毎時 5 分、10 分、... という決められた時刻で評価するのではなく、リクエストレートがしきい値を超えたタイミングから 5 分間が評価対象です。
また、複数の IP アドレスがブロックされた場合、それぞれの IP アドレスがリクエストレートを超えたタイミングから 5 分間評価します。
ブロック解除時もルールアクションがトリガーされてから、アクションの変更が有効になるまで 1〜2 分程度かかります。
このため、特定の IP アドレスがブロックされてから再度アクセス可能になるまでおおよそ 6〜7 分程度かかります。(実際は 5〜6 分の間に解除されることもあります。)
参考資料
WAFv2
ルールのアクションがトリガーされると、AWS WAFは、リクエストレートが上限を下回るまで、IP アドレスから送信される追加のリクエストにアクションを適用します。アクションの変更が有効になるまで 1~2 分程度かかります。
WAF Classic
IP アドレスがレート制限のしきい値に達すると、AWS WAF は割り当てられたアクション(ブロックまたはカウント)をできるだけ早く(通常は 30 秒以内)適用します。アクションが実行されると、IP アドレスからのリクエストなしで 5 分が経過すると、AWS WAF はカウンターをゼロにリセットします。